/**
 * ServiceAPIConstants.java $version 1.0 Aug 10, 2010
 *
 * Copyright 2010 NHN Corp. All rights Reserved.
 * NHN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

package com.eltonkent.dashboard.service;

/**
 * The ServiceAPIConstants class is used for the purpose of declaring the
 * constants variables that are used across ServiceLayer.
 * <p>
 * This class constants that are associated with the service, bearer, Http
 * methods.
 * <p>
 * 
 * @author Accenture India
 * @version 1.0 Engineering Release 0.01
 */
public interface ServiceAPIConstants {

	/**
	 * Represents the Bearer connection
	 */
	public enum Bearer {
		BEARER_WIFI, BEARER_3G;
	}

	/**
	 * Represents the HTTP GET, POST and DELETE
	 */
	public enum HttpMethod {
		HTTP_GET, HTTP_POST, HTTP_DELETE;
	}

	/**
	 * Handles NHN related header values and names
	 */
	public enum NaverRelatedHttpHeaderValuesAndNames {

		Cookie("Cookie"), Accept("Accept", "*/*"), AcceptLanguage(
				"Accept-Language", "ko"), Connection("Connection", "close"), UserAgent(
				"User-Agent", "NHN-Android OS 2.2"), AcceptEncoding(
				"Accept-Encoding", ""), CONTENT_TYPE_XML(
				"text/xml; charset=utf-8"), Host("Host", "api.blog.naver.com");

		private String value;
		private String name;

		NaverRelatedHttpHeaderValuesAndNames(String name) {
			this.name = name;
		}

		NaverRelatedHttpHeaderValuesAndNames(String name, String value) {
			this.name = name;
			this.value = value;
		}

		public String getName() {
			return name;
		}

		public String getValue() {
			return value;
		}
	}

	/**
	 * Total count of service manager thread(s)
	 */
	public static final int MAX_THREADS_COUNT = 2;

	/**
	 * HTTP session timeout
	 */
	public static final Integer HTTP_SESSION_TIME_OUT = 30000;

	/**
	 * HTTP session socket time-out key
	 */
	public static final String HTTP_SOCKET_TIME_OUT_PARAM = "http.socket.timeout";

	/**
	 * Default HTTP payload buffer size 4Kb
	 */
	public static final int DEFAULT_BUFFER_SIZE = 1024 * 4;

	/**
	 * Initial queue size threshold limit
	 */
	public static final int QUEUE_SIZE = 250;// 200;

	/**
	 * Path where the application default database would be saved.
	 */
	public static final String DB_PATH = "/data/data/com.nhn.android.wingspoon/databases/";

	/**
	 * SQLite database file name
	 */
	public static final String DB_NAME = "wingspoon.db";

}
